Raspberry Pi 樹莓派:12 道開胃菜打造 Linux 核心肌群(iT邦幫忙鐵人賽系列書)

NT $ 598



「Ok,你買了幾本Linux驅動程式的書,然後呢?」

在學習一個新技術時,往往會期待先從一些簡單的例子出發,再逐漸延伸。
不過,如果這個新技術跟Linux核心相關,「一些簡單的例子」可能沒那麼簡單。
如果直接從核心改起,從一些作業系統課常見的名詞出發:行程管理、同步機制、記憶體等,往往會因為更動帶來的影響遍佈整個作業系統,而不知該如何下手。而如果從裝置驅動程式開始,個人電腦的硬體往往缺乏彈性,嵌入式系統則需要另外準備軟、硬體實驗環境、交叉編譯工具鏈等等,也很有可能需要另外使用QEMU之類的模擬器除錯。
要開始寫程式,才能驗證所學。但似乎很難找到簡單實驗環境與例子,那該怎麼辦呢?

別擔心!這本書就是來回答這個問題!


本書內容改編自第12屆iT邦幫忙鐵人賽IoT組冠軍系列文章──《ModernMaker:從那些Maker的大小事看Linux核心》。本書旨在替理解Linux內部提供一個略為不同的切入點,使用創客手邊的RaspberryPi與Arduino,搭配最普遍使用的Ubuntu,作為實驗Linux核心功能的環境。除此之外,本書援引近五年來的諸多研討會作為第一手材料。手上拿著這本書的你,不用買更多材料,今天回家就可以立刻實驗!

本書內容
Chapter1:Ftrace與eBPF,介紹Linux中的兩個動態追蹤機制:由「即時」分支來的ftrace,與近幾年討論度極高的eBPF。這些工具使得讀者僅使用命令列,就能觀察Linux內部的運作。這樣做也容易有「外溢」的效果:如果你在追蹤結果中一直看到某些東西重複出現,自然會好奇這是什麼。於是你就有了一個學新東西的好情境。

Chapter2:裝置樹與Linux裝置框架,介紹裝置樹與Linux裝置模型。一方面是更貼近Maker的經驗:Maker們可能常常在一些感測器、ADC、觸控螢幕的硬體供應商提供說明中,看到疊加裝置樹的指示。介紹裝置樹對於Maker來說,可以更深入理解這件事的目的,是非常有幫助的知識。另一方面,核心模組也可以因為結合裝置模型,許多函式可以使用自動資源管理的版本,也有助於讓程式更精簡。

Chapter3:GPIO,介紹如何在核心中使用GPIO。有了GPIO之後,就能在Chapter4:IRQ中使用GPIO觸發各種IRQ,搭配Chapter1的動態追蹤工具,讓讀者可以親自實驗中斷上半部與下半部機制的執行機制、執行前後文、發生時機等等。本書涵蓋的下半部機制包含了workqueue、softirq、tasklet與threadedIRQ。在理解IRQ之後,相信讀者在閱讀核心文件時,碰到如「該函式無法在不能休眠的情境使用」之類的敘述時,就不會容易感到困惑。

Chatper5:I2C,在介紹核心與使用者空間的I2C相關功能之後,Chatper6:與使用者交換資料中,介紹了字元驅動程式,並且把前述的I2C的傳輸包裝成字元驅動程式。最後則是介紹了專為感測器設計的IIO子系統。多數的ADC、加速規、距離感測器等,有不少可以在IIO子系統中找到驅動程式。

本書使用的硬體
這本書使用Raspberry4B與ArduinoUno。當然,還需要幾條杜邦線。除此之外,為了不讓使用3.3V邏輯電壓的RaspberryPi4B被使用5V邏輯電壓的ArduinoUno破壞,部分實驗需要使用到邏輯準位轉換器(logiclevelshifter)。以及在最後的IIO實驗中,還需要一個TCRT5000紅外線距離感測器,但實際上也可以ArduinoUno替代。除此之外,你不需要更多硬體了。

Ok,準備好了,我們就直接開始吧!


I2C 邏輯 感測器 MAKER IOT ARDUINOUNO PI LINUX IT 工具 RASPBERRY RASPBERRYPI 驅動程式 RASPBERRY4B 作業系統


上帝 財富 醫療 大盤 故事 股票 ETF 致富 數據 導覽 艾蜜莉 課綱 保健 人生 薪水 寶島 存股 靈性 洛杉磯 大腦 金石堂 人格 土地 資料 未來 CNN 阿茲海默症 賈伯斯


猜你喜歡